﻿using System.Data.Linq;
using AW.Helper;
using AW.LinqToSQL;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace AW.Tests
{
  /// <summary>
  ///   This is a test class for DataEditorLinqtoSQLPersisterTest and is intended
  ///   to contain all DataEditorLinqtoSQLPersisterTest Unit Tests
  /// </summary>
  [TestClass]
  public class DataEditorLinqtoSQLPersisterTest
  {
    /// <summary>
    ///   Gets or sets the test context which provides
    ///   information about and functionality for the current test run.
    /// </summary>
    public TestContext TestContext { get; set; }

    #region Additional test attributes

    // 
    //You can use the following additional attributes as you write your tests:
    //
    //Use ClassInitialize to run code before running the first test in the class
    //[ClassInitialize()]
    //public static void MyClassInitialize(TestContext testContext)
    //{
    //}
    //
    //Use ClassCleanup to run code after all tests in a class have run
    //[ClassCleanup()]
    //public static void MyClassCleanup()
    //{
    //}
    //
    //Use TestInitialize to run code before running each test
    //[TestInitialize()]
    //public void MyTestInitialize()
    //{
    //}
    //
    //Use TestCleanup to run code after each test has run
    //[TestCleanup()]
    //public void MyTestCleanup()
    //{
    //}
    //

    #endregion

    /// <summary>
    ///   A test for CanSave
    /// </summary>
    [TestMethod]
    public void CanSaveTest()
    {
      DataContext dataContext = AWDataClassesDataContext.GetNew();
      var target = new DataEditorLinqtoSQLPersister(dataContext);
      Assert.IsTrue(target.CanSave(typeof(LinqToSQL.AddressType)));
      Assert.IsFalse(target.CanSave(typeof(DataEditorLinqtoSQLPersisterTest)));
    }
  }
}